Certain software applications analyze digital photographs from a particular scene and generate a three-dimensional (3D) reconstruction or model of the scene. A user of such an application is therefore able to generate a model using the software and then upload the model to a website for later viewing by the user or by other users of the website. For instance, a user may capture a series of photographs of the Eiffel Tower in Paris using a camera and may later transfer these photos to a personal computer of the user. Once the photos reside on the personal computer, the user may generate a 3D model of the photos and then upload this 3D model to a specified website. This user or other users may then view this 3D model of the Eiffel Tower via the specified website.
In order to view the example 3D model on a client computing device, the client device first requests a file that specifies a layout associated with the multiple images that collectively define the 3D model. The client device may also request one or more images for rendering on a display of the device as a starting point of the 3D model. Thereafter, as the user navigates within and to different portions of the 3D model, the client device requests images associated with the locations to which the user navigates. However, because the client device requests the desired images after the user requests to view these images, the user often experiences undesirable latency while the client device requests and waits to receive these images. Furthermore, when the user is viewing the collection over a high-latency network or on a device having limited memory or computational power (e.g., a mobile phone), the latency that the user experiences may be significant.